home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0886.arc / SCHEME5.LTG < prev    next >
Text File  |  1986-04-21  |  3KB  |  66 lines

  1.  
  2.  
  3.       MAKING PC SCHEME FRIENDLY WITH WINDOWS AND SCHEME.INI
  4. ; File to open PC SCHEME session by clearing screen, opening a window for
  5. ; input and output of information to one's students. If compiled and made
  6. ; an .fsl file within SCHEME.INI, it will load and run automatically when
  7. ; PC SCHEME is invoked. User is prompted to clear window and if intro.s is
  8. ; part of SCHEME.INI, the prompt will be agreeably altered.
  9. ; This hopefully humorous example demonstrates the flexibility of PC SCHEME
  10. ; and the ease with which windows are created and manipulated. Popup windows
  11. ; are also available.  Border and text attributes may be specified.
  12.  
  13. (windowclear 'console)   ; clear default display
  14. (define wind (makewindow "Hello, student!" #!true)) ;names window, boolean
  15.                                                      ;determines whether window
  16.                                                      ;will display border
  17. (windowsetposition! wind 1 10)          ;sets upperleft corner coordinates
  18. (windowsetsize! wind 15 45)           ;sets size
  19.  (let ((name '?))                  ;opens for variable input of users' name
  20.   (begin
  21.     (windowclear wind)          ;displays window to screen
  22.     (display "Welcome " wind)    ;Prints string to screen without "
  23.     (newline wind)           ;outputs endofline character sequence to window
  24.     (display "Enter your first name " wind)
  25.     (newline wind)
  26.     (set! name (readline wind)) ;reads in characters from keyboard
  27.     (display "Nice to meet you, " wind)
  28.     (display name wind))  ;inserts name given after "Nice to meet you, "
  29. (newline wind)
  30. (display "Here is information you will need:" wind)
  31. (newline wind)
  32. (display "1. I have no office hours. " wind)
  33. (newline)
  34. (display "2. My assistant is Fred Hacker." wind)
  35. (newline)
  36. (display "3. Call Fred with any problem." wind)
  37. (newline wind)
  38. (display "Good luck, " wind)
  39. (display name wind))
  40. (newline wind)
  41. (display "Press any key to continue." wind)
  42. (let ((key '?))   ; accepts any key and then deletes itself
  43.   (set! key (readchar wind))
  44.   (windowdelete wind))
  45.  
  46.  
  47.        CHANGE PROMPT
  48. ;;; One of the pleasures of PC SCHEME is its flexibility.
  49. ;;; If the prompt [x] is putting you to sleep, try this.
  50. ;;; Userfriendly details like this can easily be added to a
  51. ;;; SCHEME.INI file to load when the system is invoked.
  52.  
  53. (setfluid! schemetoplevel
  54.     (namedlambda (loop)
  55.       (newline)è      (display "Your wish, gentle user?:   ")
  56.       (write (eval (read)))
  57.       (loop)))
  58.  
  59.  
  60. ; SCHEME.INI file lists files to be loaded.  Compiling and converting to fast;
  61. load speeds execution.
  62.  
  63. (load "info.fsl")
  64. (load "intro.fsl")
  65.  
  66.